/**
 * 数学类
 */
package cn.antia.util;

/**
 * @author sunkeei
 * @date Feb 22, 2008
 * @time 5:38:57 PM
 * @version 0.1 
 */
public class Maths {
	/**
	 * 为最邻近的整值,7取为10,11取为20,170取为200
	 * @param max	整值
	 * @return	整值
	 */
	public static int getMaxInteger(int max){
		String smax = max + "";
		int firstNum = Integer.parseInt(smax.charAt(0) + "");
		if(max % (int)(Math.pow(10.0,smax.length() - 1)) != 0){
			firstNum++;
			double dmax = firstNum * Math.pow(10.0,smax.length() - 1);
			return (int)dmax;
		}
		return max;
	}
	
	/**
	 * 返回浮点数的指定精度
	 * @param f
	 * @return
	 */
	public static float precision(float f,int precision){
		double temp =  Math.pow(10.0,precision);
		f *= temp;
		int nf = Math.round(f);
		return (float)(nf / temp);
	}
	
	/**
	 * 返回双精度浮点数的指定精度
	 * @param f
	 * @return
	 */
	public static double precision(double d,int precision){
		double pow = Math.pow(10.0,precision);
		d *= pow;
		double nf = Math.round(d);
		return nf / pow;
	}
}
